Skip to content

Match fuzz budgets to generator shapes and assert real invariants - #1295

Merged
Frotty merged 5 commits into
masterfrom
test/fuzz-invariants-not-volume
Sep 4, 2026
Merged

Match fuzz budgets to generator shapes and assert real invariants#1295
Frotty merged 5 commits into
masterfrom
test/fuzz-invariants-not-volume

Conversation

@Frotty

@Frotty Frotty commented Sep 4, 2026

Copy link
Copy Markdown
Member

The compiler fuzz generator varies program structure with six bits of the seed (indent style, tuple, interface, module, loop, callback), giving 64 distinct shapes for single programs and 24 for cross-package ones; the rest of the seed only renames packages and changes integer literals, which reaches no new compiler path. The invocation budgets were 320/180/120 against those counts, so most invocations recompiled shapes already covered, and three of the four properties asserted only that the result was non-null.

Budgets now derive from named constants tied to what each generator can actually produce, and the weakest property is replaced by two that assert real invariants:

  • newlineStyleDoesNotAffectEmittedCode - the same source written with LF and CRLF must emit byte-identical Jass (was: compiling the CRLF variant returns non-null).
  • compilingTwiceEmitsIdenticalCode - recompiling the same source in one process must emit byte-identical Jass, across every generated shape rather than the handful DeterministicChecks pins.

Compilations drop from 684 to 408. SmallCheckViaJUnitCoreTestNG falls from 360.4s to 42.0s in isolation and 129.8s under full parallel load, and is no longer the suite's slowest class.

Checks: full suite green locally, 1941 tests, 0 failures, 6m34s (was 7m17s on the base branch).

Stacked on #1294 - compileAndReadJass uses testNamed, which is added there. Retarget to master once that merges.

…tions, and stop parallel test forks racing on a shared output file.
…sert newline and recompile invariance instead of non-null.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 4, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-04T18:22:07.777665Z 83172cb Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Frotty

Frotty commented Sep 4, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Can't wait for the next one!

Reviewed commit: 4bcd026910

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@Frotty

Frotty commented Sep 4, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

Reviewed commit: 83172cb265

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Base automatically changed from perf/compiler-hot-paths-and-test-isolation to master September 4, 2026 22:20
@Frotty
Frotty merged commit 23cfe5e into master Sep 4, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant